home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d21
/
dvmacros.arc
/
DV_CALL.MAC
next >
Wrap
Text File
|
1988-03-12
|
3KB
|
92 lines
.xlist
; @CALL function_name
; Daniel T. Travison Jr. 01/01/88
; loads AL with a function number
; based on the function_name mnemonic.
; loads AH with 10h and executes an INT 15h
@CALL MACRO F_NAME
IFIDN <F_NAME>,<PAUSE>
MOV AL,0 ;skip to next task
ELSE
IFIDN <F_NAME>,<PRINTC>
MOV AL,3 ;display character on screen
ELSE
IFIDN <F_NAME>,<GETBIT>
MOV AL,19
ELSE
IFIDN <F_NAME>,<FREEBIT>
MOV AL,20 ;software interrupt control
ELSE
IFIDN <F_NAME>,<SETBIT>
MOV AL,21
ELSE
IFIDN <F_NAME>,<ISOBJ>
MOV AL,22 ;verify object handle
ELSE
IFIDN <F_NAME>,<LOCATE>
MOV AL,24 ;locate window
ELSE
IFIDN <F_NAME>,<SOUND>
MOV AL,25 ;operate speaker
ELSE
IFIDN <F_NAME>,<OSTACK>
MOV AL,26 ;set up stack
ELSE
IFIDN <F_NAME>,<BEGINC>
MOV AL,27 ;begin critical code
ELSE
IFIDN <F_NAME>,<ENDC>
MOV AL,28 ;end critical code
ELSE
IFIDN <F_NAME>,<STOP>
MOV AL,29 ;stop task
ELSE
IFIDN <F_NAME>,<START>
MOV AL,30 ;start task
ELSE
IFIDN <F_NAME>,<DISPEROR>
MOV AL,31 ;display error message
ELSE
IFIDN <F_NAME>,<PGMINT>
MOV AL,33 ;interrupt another task
ELSE
IFIDN <F_NAME>,<GETVER>
MOV AL,34 ;get version number
ELSE
IFIDN <F_NAME>,<POSWIN>
MOV AL,35 ;position window
ELSE
IFIDN <F_NAME>,<GETBUF>
MOV AL,36 ;get video buffer
ELSE
IFIDN <F_NAME>,<USTACK> ;restore original stack
MOV AL,37
ELSE
.ERR
%OUT Invalid Function Mnemonic in @CALL (%F_NAME)
EXITM
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
MOV AH,10H
INT 15h
ENDM
.list